(v1) Musical Structure
App Design
Criteria | Meet Specification |
---|---|
Suitability |
The app’s structure is suitable for a music player app. A similarly structured app which focuses on audiobooks, podcasts, or other audio media is also acceptable. |
Clarity |
Each activity is clearly labelled, using a TextView, such that the final purpose of such an activity is easy to understand. For instance, one screen might be labelled ‘song detail screen’ and another might be labelled ‘music library’ |
Plan for Creation |
App must contain a Payment Activity. Student should find an external library or API that can be used in this situation. In the TextView of that activity, describe the library or API and how it can be used. Any other Activity that requires an external library or class not yet covered also includes the name of that library or class. |
Number of Activities |
The app contains 3 to 6 activities. |
Layout
Criteria | Meet Specification |
---|---|
Structure |
The app contains multiple activities, each labelled, which together make a cohesive music app. |
Labelling |
Each activity contains a TextView which explains the purpose of the activity. |
Buttons |
Each activity contains button(s) which link it to other activities a user should be able to reach from that activity. For instance, a ‘Library’ activity might contain a button to move to the ‘Now Playing’ activity. |
Layout Best Practices |
The code adheres to all of the following best practices:
|
Functionality
Criteria | Meet Specification |
---|---|
Runtime Errors |
The code runs without errors |
OnClickListeners |
Each button’s behavior is determined by an OnClickListener in the Java code rather than by the |
Intents |
Each button properly opens the intended activity using an explicit Intent. |
Code Quality
Criteria | Meet Specification |
---|---|
Code Formatting |
The code is properly formatted:
The code also has proper indentation when defining variables and methods. |
Readability |
Code is easily readable such that a fellow programmer can understand the purpose of the app. |
Naming Conventions |
All variables, methods, and resource IDs are descriptively named such that another developer reading the code can easily understand their function. |